home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / System / SafeSwitch / start.i < prev   
Text File  |  2000-05-26  |  1KB  |  33 lines

  1. ; Startup-koodi joka vastaa WBStartup-viestiin jos sellainen on
  2.  
  3.               include   "dos/dosextens.i"
  4.  
  5.               clr.l     -(a7)               ; tilaa WBStartup-viestille
  6.               movem.l   d0/a0,-(a7)         ; cmd-line talteen
  7.  
  8.               move.l    4,a6
  9.               suba.l    a1,a1
  10.               jsr       _LVOFindTask(a6)
  11.               move.l    d0,a2
  12.               tst.l     pr_CLI(a2)          ; jos erisuuri kuin nolla on ohjelma
  13.               bne.b     10$                 ; käynnistetty komentotulkista
  14.               lea       pr_MsgPort(a2),a0   ; viesti on otettava ennen
  15.               jsr       _LVOWaitPort(a6)    ; ensimmäistä DOS-kutsua
  16.               lea       pr_MsgPort(a2),a0
  17.               jsr       _LVOGetMsg(a6)
  18.               move.l    d0,8(a7)            ; WBStartup-viesti talteen
  19.  
  20. 10$           movem.l   (a7)+,d0/a0         ; cmd-line takaisin
  21.               move.l    (a7),d1             ; WBstartup-viesti d1:een (tai 0)
  22.               bsr       init                ; kutsutaan omaa ohjelmaamme
  23.               move.l    d0,d3               ; paluukoodi talteen
  24.  
  25.               move.l    (a7)+,d2            ; WBStartup-viesti takaisin
  26.               beq.b     20$
  27.               jsr       _LVOForbid(a6)
  28.               move.l    d2,a1
  29.               jsr       _LVOReplyMsg(a6)    ; vastataan viestiin
  30. 20$           move.l    d3,d0
  31.               rts
  32.  
  33.